package com.andreas.shop.service;

import com.andreas.shop.exception.ShopBussinessException;
import com.andreas.shop.pojo.request.CreateOrderRequest;
import com.andreas.shop.pojo.vo.OrderVO;
import com.github.pagehelper.PageInfo;
import org.apache.catalina.LifecycleState;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author andreaszhou
 * @ClassName OrderService
 * @Description TODO
 * @date 2021/2/2 8:47
 * @Version 1.0
 */
public interface OrderService {
    String createOrder(CreateOrderRequest createOrderRequest) throws ShopBussinessException;

    OrderVO orderDetail(String orderNo) throws ShopBussinessException;

    PageInfo orderList(Integer pageNum, Integer pageSize);

    void cancelOrder(@Param("orderNo") String orderNo) throws ShopBussinessException;

    String qrcode(String orderNo);

    void pay(String orderNo) throws ShopBussinessException;

    PageInfo listForAdmin(Integer pageNum, Integer pageSize);

    void delivered(String orderNo) throws ShopBussinessException;

    void finish(String orderNo) throws ShopBussinessException;
}
